#include <iostream>
#include <deque>

using namespace std;
//deque 数据存取:对deque 中的数据的存取操作
//函数原型：
//1、at(int idx);      //返回索引idx所指的数据
//2、operator[];       //返回索引idx所指的数据
//3、front();          //返回容器中第一个数据元素
//4、back();           //返回容器中最后一个数据元素

void printD(const deque<int> &d) {
    for (deque<int>::const_iterator it = d.begin(); it != d.end(); ++it) {
        cout << *it << " ";
    }
    cout << endl;
}

void test() {
    deque<int> d;
    d.push_back(10);
    d.push_back(20);
    d.push_back(30);
    d.push_front(100);
    d.push_front(200);
    d.push_front(300);
    for (int i = 0; i < d.size(); ++i) {
        cout << d[i] << " ";
    }
    cout << endl;

    for (int i = 0; i < d.size(); ++i) {
        cout << d.at(i) << " ";
    }
    cout << endl;

    cout << "front:" << d.front() << endl;//front返回容器第一个元素
    cout << "back:" << d.back() << endl;//back返回容器最后一个元素
}

int main() {
    test();
    return 0;
}